//整个自己编写的vue的入口
import { initGlobalAPI } from "./gloablAPI";
import initMixin from "./init";
import { lifeCycleMixin } from "./lifecycle";
import { initStateMixin } from "./state";

//es6的类 要求所有的扩展都在类的内部来进行扩展

function Vue(options) {
    this._init(options)
}
initGlobalAPI(Vue)
initStateMixin(Vue); //实现了nextTick $watch
initMixin(Vue);//扩展init方法
lifeCycleMixin(Vue);//vm._update vm._render

//给Vue添加原型方法 我们通过文件的方式添加，防止所有的功能都在一个文件里处理
export default Vue;